Implementing DOOM and DOOM Style Keyboard Navigation

In my experience, many of the people interested in implementing keyboard navigation would like to use it in an immersive, first person perspective 3D scene. When I set out to write the examples to illustrate keyboard behaviors this must have been at the front of my mind, because the KeyboardNavigateTest example ended up looking a lot like DOOM or IdÆs early favorite, Wolfenstein 3D!

figure 2. The KeyNavigateTest example in action. DOOM all over again!

Writing the example was a lot of fun and it includes a number of features that should be of interest to people writing immersive, first person perspective applications:

The example is obviously fairly lengthy and cannot be discussed in depth here, so only some highlights will be described. Actually, I was impressed by how functional the example became with a relatively small amount of code. This is due in part to Java 3DÆs high level features and due in part to the extensive use I made of the reusable classes within the com.tornadolabs.dselman.j3d.book package.